/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Dao;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import pojo.Categoria;

/**
 *
 * @author jonatan
 */
public class CategoriaDao implements DAO<Categoria> {

    EntityManager em = null;

    public CategoriaDao() {
        super();
        em = EMF.getEntityManager();
    }

    @Override
    public void Gravar(Categoria bean) {
        em.getTransaction().begin();
        em.persist(bean);
        em.getTransaction().commit();
    }

    @Override
    public Categoria Buscar(Long codigo) {
        Query q = em.createQuery("SELECT c FROM Categoria c WHERE c.codigo = :id");
        q.setParameter("id", codigo);
        return (Categoria) q.getSingleResult();

    }

    @Override
    public List<Categoria> Listar(Class<Categoria> tipo) {
        Query q = em.createQuery("SELECT c FROM Categoria c");
        return q.getResultList();
    }

    @Override
    public void Atualizar(Categoria entidade) {
        em.getTransaction().begin();
        em.merge(entidade);
        em.getTransaction().commit();
    }

    @Override
    public void Remover(Categoria entidade) {
        em.getTransaction().begin();
        em.remove(entidade);
        em.getTransaction().commit();
    }
}
